Data storage devices are used for data storage in modern electronic products ranging from digital cameras to computers and network systems. Ordinarily, a data storage device includes a mechanical portion, or head-disc assembly, and electronics in the form of a printed circuit board assembly mounted to an outer surface of the head-disc assembly. The printed circuit board assembly controls functions of the head-disc assembly and provides a communication interface between the data storage device and a host being serviced by the data storage device.
Typically, the head-disc assembly has a disc with a recording surface rotated at a constant speed by a spindle motor assembly and an actuator assembly positionably controlled by a closed loop servo system. The actuator assembly supports a read/write head that writes data to and reads data from the recording surface. Data storage devices using magnetoresistive read/write heads typically use an inductive element, or writer, to write data to information tracks of the recording surface and a magnetoresistive element, or reader, to read data from the information tracks during drive operations.
The data storage device market continues to place pressure on the industry for data storage devices with increased capacity at a lower cost per megabyte and higher rates of data throughput between the data storage device and the host.
Regarding data throughput, there is a continuing need to improve throughput performance for data storage devices (by class), particularly on industry standard metrics such as “WinBench Business” and “WinBench High-End” benchmarks.
As read commands are executed by the data storage device, additional non-requested read data spatially adjacent to the host-requested read data are often read and stored with the hope of satisfying future host read data requests from this data, thereby eliminating the need for mechanical access. This process of reading and storing additional information is known as speculative reading, and the associated data is speculative read data.
Essentially, there are two types of speculative read data; read on arrival (ROA) data and read look ahead (RLA) data. In executing a host read data request command, a target track that contains the request host read data is accessed. Upon arrival at the target track, a predetermined number of data blocks preceding the data blocks containing the host read data (i.e., ROA data) are read, the host read data are then read followed by a reading of a predetermined number of data blocks subsequent to the host read data (i.e., RLA data).
To improve throughput performance, improved techniques for speculative data acquisition and cache memory management are needed. Therefore, it would be advantageous to more accurately predict future data requests based on historical requests for data.
As such, challenges remain and a need persists for improvements in data throughput between the data storage device and the host by monitoring historical requests for data for use in improved speculative data acquisitions methods and improved cache memory data retention efficiencies.